Inferring AJ Types for Concurrent Libraries
نویسندگان
چکیده
Data-centric synchronization advocates data-based synchronization as opposed to control-based synchronization. It is more intuitive and can make correct concurrent programming easier. Dolby et al. [9] proposed AJ, a type system for data-centric synchronization, and showed that Java programs can be refactored into AJ. Unfortunately, programmers still have to add synchronization constructs manually (in the form of AJ type annotations), and the burden on programmers is high. In this paper we propose a type inference technique that infers AJ types for concurrent libraries. Our technique significantly reduces the amount of annotations.
منابع مشابه
TECHNICAL REPORT 97-03 Type-based Analysis of Communication for Concurrent Programming Languages
Powerful concurrency primitives in recent concurrent languages and thread libraries provide the great exibility about implementation of high-level features like concurrent objects. However, they are so low-level that they often make it di cult to check global correctness of programs or to perform aggressive code optimization. We propose a static analysis method for inferring how many times each...
متن کاملType-Based Analysis of Communication for Concurrent Programming Languages
Powerful concurrency primitives in recent concurrent languages and thread libraries provide the great exibility about implementation of high-level features like concurrent objects. However, they are so low-level that they often make it di cult to check global correctness of programs or to perform aggressive code optimization. We propose a static analysis method for inferring how many times each...
متن کاملParameterised Linearisability
Many concurrent libraries are parameterised, meaning that they implement generic algorithms that take another library as a parameter. In such cases, the standard way of stating the correctness of concurrent libraries via linearisability is inapplicable. We generalise linearisability to parameterised libraries and investigate subtle trade-offs between the assumptions that such libraries can make...
متن کاملSlice-Hoisting for Array-Size Inference in MATLAB
Inferring variable types precisely is very important to be able to compile MATLAB libraries effectively in the context of the telescoping languages framework being developed at Rice. Past studies have demonstrated the value of type information in optimizing MATLAB [4]. The variable types are inferred through a static approach based on writing propositional constraints on program statements [11]...
متن کاملAdding Concurrency to a Programming Language
A programming language that lacks facilities for concurrent programming can gain those facilities in two ways: the language can be extended with additional constructs, which will reflect a particular model of concurrency, or libraries of types and routines can be written with different libraries implementing different models. This paper examines the two approaches, for object-oriented and non-o...
متن کامل